perm filename RDD[MUS,LCS] blob sn#319844 filedate 1977-12-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00002 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002
C00005 ENDMK
C⊗;

      EXTERNAL FUNCTION GETINF(ARRAY J,INSR,INBT,INCH,INMX,INDR),
      RDSMPL(ARRAY N,BITS);
 
      ARRAY INF(1536);
      VARIABLE /CNT,/RD,/SCNT,INCH,INSR,INMX,INDR,INBT,INBUF,
      IX,/INC;
 
      FUNCTION PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);  
      BEGIN 
        INBUF←1535-512*INBT;        
        PRINT "SRATE=",INSR," BITS=",12+INBT*6," NCHNS=",INCH,
        " MAXAMP=",INMX," DUR=",INDR/INSR/INCH;
        CNT←INBUF;        INDR←INDR-2;
      END;

      INC← 1;
      FUNCTION READIN(RD);
      BEGIN 		<DON'T FORGET TO INIT AND SCNT ← 0;
        IF SCNT=0 THEN BEGIN        
          GETINF(INF,INSR,INBT,INCH,INMX,INDR); <HEADER IS READ INTO ARRAY INF.
          PRNTIT(CNT,INSR,INBT,INCH,INMX,INDR,INBUF);  INBUF←INBUF+1;
        END;
        SCNT←SCNT+INC;
        IF SCNT > INDR THEN  BEGIN <CHECK TO SEE IF SMPL CNT IS EXCEEDED
           RD←0;  RETURN(RD); END;
        IF CNT > INBUF THEN BEGIN
           RDSMPL(INF,INBT);
           CNT←0;  END;
        RD←INF(CNT);
        IF CNT ≠ INT(CNT) THEN BEGIN
          IX ← CNT+1;
          IF IX > INBUF THEN EXIT;
            RD←RD+(INF(IX)-RD)*(CNT-INT(CNT));
          END;
        CNT←CNT+INC; <UPDATE THE COUNTER
        RETURN(RD); END; 


      INSTRUMENT READA;
      OUTA←OUTA+P4*READIN(RD);
      END;
      SETMAG;1 12
      PLAY;
      READA  0   .5   0  .7   .00025   300  ;
      INC← 1/1.28;
      SCNT←0; INFILE←"U"; 
      READA .5   .37  0  1.5  .00025   300  ; PRINT "AGAIN  ";
      INC←INC*D/C;
      SCNT←0; INFILE←"U"; 
      READA 1    .38  0  1.5  .00025   300  ; PRINT "AGAIN  ";
      INC←INC*E/D;
      SCNT←0; INFILE←"U"; 
      READA 1.5  .5   0  1.   .00025   300  ; PRINT "AGAIN  ";
      INC←INC*C/E;
      SCNT←0; INFILE←"U"; 
      FINISH;